﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RobotBattle2.Scripting;
using RobotBattle2.Runtime;
using System.Threading;

namespace RobotBattle2 {
	public abstract class ScriptRunnerBase {
		public ScriptRunnerBase() { }

		public Script Script {
			get { return m_Script; }
			set {
				if (m_Script != null)
					throw new NotSupportedException("Can not redefine the script");
				m_Script = value;
			}
		}
		private Script m_Script;

		public Robot Robot {
			get { return m_Robot; }
			set {
				if (m_Robot != null)
					throw new NotSupportedException("Can not redefine the script");
				m_Robot = value;
			}
		}
		private Robot m_Robot;

		public abstract void Initialize();

		public abstract void RunTurn();
	}
}
